package design;

import design.util.RedisUtils;

/**
 * @author: hero生仔
 *
 * 享元模式重构：一般情况下使用此结构在平时的开发中不多，除了一些线程池，数据库连接池外，再就是游戏场景下的场景
 * 渲染，另外这个设计模式思想是减少内存的使用以提升效率，与之前我们使用的原型模式通过克隆的方式生成复杂的对象，减少
 * RPC调用都是此类思想。
 */
public class ActivityController {
    private RedisUtils redisUtils = new RedisUtils();

    public Activity queryActivityInfo(Long id) {
        Activity activity = ActivityFactory.getActivity(id);
        // 模拟从Redis中获取库存变化信息
        Stock stock = new Stock(1000, redisUtils.getStockUsed());
        activity.setStock(stock);
        return activity;
    }
}
